/*******************************************************************************
 * Classe Fenetre : classe de création de la fenetre contenant le programme
 ******************************************************************************/
package prjintwg;

import Panneaux.MenuPrincipal;
import Panneaux.ReglesJeu;
import Panneaux.APropos;
import Panneaux.Options;
import java.awt.*;
import javax.swing.*;

/**
 *
 * @author W&G
 */
public class Fenetre extends JFrame {

    private PnlJeu pnlJeu = new PnlJeu(this);//panneau contenant le jeu
    private Jeu jeu = new Jeu(this, pnlJeu);//objet de gestion du jeu
    //panneau du menu principal
    private MenuPrincipal pnlMenuPrincipal = new MenuPrincipal(this);
    private JPanel pnlConteneur;//panneau conteant les éléments graphiques
    //panneau contenant les regles du jeu
    private ReglesJeu pnlReglesJeu = new ReglesJeu(this);
    //panneau contenant les options
    private Options pnlOptions = new Options(this);
    //panneau contenant l'a propos
    private APropos pnlAPropos = new APropos(this);
/**
 * Retourne l'objet de jeu
 * @return retourne l'objet de jeu
 */
    public Jeu getJeu() {
        return jeu;
    }
/**
 * Retourne le panneau du menu principal
 * @return retourne le panneau du menu principal
 */
    public MenuPrincipal getPnlMenuPrincipal() {
        return pnlMenuPrincipal;
    }
/**
 * Retourne le panneau des regles du jeu
 * @return retourne le panneau des regles du jeu
 */
    public ReglesJeu getPnlReglesJeu() {
        return pnlReglesJeu;
    }
/**
 * Retourne le panneau de jeu
 * @return retourne le panneau de jeu
 */
    public PnlJeu getPnlJeu() {
        return pnlJeu;
    }
/**
 * Retourne le panneau d'options
 * @return Reourne le panneau d'options
 */
    public Options getPnlOptions() {
        return pnlOptions;
    }
/**
 * Constructeur de la fenetre
 */
    public Fenetre() {
        super("Moon Wars Boom Patataracpouf !");
        this.setSize(1072, 603);
        pnlConteneur = new JPanel(new GridLayout(1,1));
        pnlConteneur.add(pnlMenuPrincipal);
        this.setVisible(true);
        this.setResizable(false);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.add(pnlConteneur);
    }
        /**
         * affiche le panneau du jeu
         */
       public void afficherJeu() {
        pnlConteneur.removeAll();
        pnlConteneur.add(pnlJeu);
        pnlConteneur.revalidate();
        pnlConteneur.repaint();
    }
    /**
     * affiche le panneau du menu principal
     */
        public void afficherMenuPrincipal() {
        pnlConteneur.removeAll();
        pnlConteneur.add(pnlMenuPrincipal);
        pnlConteneur.revalidate();
        pnlConteneur.repaint();
    }
        /**
         * affiche le panneau des regles du jeu
         */
        public void afficherReglesJeu(){
        pnlConteneur.removeAll();
        pnlConteneur.add(pnlReglesJeu);
        pnlConteneur.revalidate();
        pnlConteneur.repaint();
        }
        /**
         * affiche le panneau des options
         */
        public void afficherOptions(){
        pnlConteneur.removeAll();
        pnlConteneur.add(pnlOptions);
        pnlConteneur.revalidate();
        pnlConteneur.repaint();
        }
        /**
         * affiche le panneau de l'a propos
         */
        public void afficherAPropos(){
        pnlConteneur.removeAll();
        pnlConteneur.add(pnlAPropos);
        pnlConteneur.revalidate();
        pnlConteneur.repaint();
        }


}
